package VN.EDU.IMIC.DEVELOPER.TRINHCAOSANG.ExceptionHandling;

/*
 * Khối finally trong là một khối được sử dụng để thực thi các phần code quan trọng như đóng kết nối, đóng stream, … 
 * Khối finally luôn luôn được thực thi dù cho exception có được xử lý hay không. 
 * Khối finally phải được theo sau bởi khối try hoặc khối catch.

Ghi chú: nếu bạn không xử lý ngoại lệ trước khi kết thúc chương trình, JVM sẽ thực thi khối finally .
 */
public class Finally {
	public static void main(String args[]){  
	/*
	 * Truong hop 1 : Khong exception
	   try{ int data=30/5; System.out.println(data); }
	  catch(NullPointerException e){System.out.println(e);}
	 finally{System.out.println("Khoi finally luon luon duoc thuc thi");}
	  System.out.println("Other codes..."); }
	 */
		
		/*Truong hop 2 : co exception : 
		  
	   try{ int data=30/0; System.out.println(data); }
	  catch(NullPointerException e){System.out.println(e);}
	  finally{System.out.println("Khoi finally luon luon duoc thuc thi");}
	  System.out.println("Other codes..."); }
		 
		 */
		/*Truong hop 3 : co exception va duoc xu ly : 
		 
	   try{ int data=30/0; System.out.println(data); }
	  catch(ArithmeticException  e){System.out.println(e);}
	  finally{System.out.println("Khoi finally luon luon duoc thuc thi");}
	  System.out.println("Other codes..."); }
		 */
}
}
